package com.example.mq.mqserver.core;

import lombok.Data;

import java.io.Serializable;

@Data
public class BasicProperties implements Serializable {

    /**
     * 消息的唯一身份标识，用 UUID 来作为 messageId
     */
    private String messageId;

    /**
     * 消息上带有的内容，和 bindingKey 做匹配
     * 如果当前的交换机类型是 DIRECT ,此时 routingKey 就表示要转发的队列名
     * 如果当前的交换机类型是 FANOUT ,此时 routingKey 无意义（不使用）
     * 如果当前的交换机类型是 TOPIC ,此时 routingKey 就要和 bindingKey 做匹配，符合要求的才能转发给对应队列
     */
    private String routingKey;

    /**
     * 消息是否要持久化
     * 1 持久化
     * 2 不持久化
     */
    private int deliverMode = 1;

    @Override
    public String toString() {
        return "BasicProperties{" +
                "messageId='" + messageId + '\'' +
                ", routingKey='" + routingKey + '\'' +
                ", deliverMode=" + deliverMode +
                '}';
    }
}
